using SqlSugar;
using System;

namespace EasyAdmin.Admin.Entity.Entities
{
    /// <summary>
    /// 系统菜单表
    /// </summary>
    [SugarTable("sys_menu")]
    public class SysMenu : BaseEntity
    {

        /// <summary>
        /// 父菜单ID
        /// </summary>
        public int ParentId { get; set; }

        /// <summary>
        /// 菜单名称
        /// </summary>
        [SugarColumn(Length = 50, IsNullable = false)]
        public string MenuName { get; set; }

        /// <summary>
        /// 路由地址
        /// </summary>
        [SugarColumn(Length = 200)]
        public string Path { get; set; }

        /// <summary>
        /// 组件路径
        /// </summary>
        [SugarColumn(Length = 200)]
        public string Component { get; set; }

        /// <summary>
        /// 权限标识
        /// </summary>
        [SugarColumn(Length = 100)]
        public string Perms { get; set; }

        /// <summary>
        /// 菜单图标
        /// </summary>
        [SugarColumn(Length = 100)]
        public string Icon { get; set; }

        /// <summary>
        /// 菜单类型（M：目录 C：菜单 F：按钮）
        /// </summary>
        [SugarColumn(Length = 1, IsNullable = false)]
        public string MenuType { get; set; }

        /// <summary>
        /// 显示顺序
        /// </summary>
        public int OrderNum { get; set; }

        /// <summary>
        /// 是否显示（0：不显示，1：显示）
        /// </summary>
        public int Visible { get; set; }

        /// <summary>
        /// 是否为外链（0：否，1：是）
        /// </summary>
        public int IsFrame { get; set; }

        /// <summary>
        /// 是否缓存（0：不缓存，1：缓存）
        /// </summary>
        public int IsCache { get; set; }

        /// <summary>
        /// 状态（0：禁用，1：启用）
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [SugarColumn(Length = 500, IsNullable = false)]
        public string Remark { get; set; }
    }
}